/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package fr.afcepf.projet2.metiers.donnees.entites.comptes;

import java.io.Serializable;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.NamedQueries;
import javax.persistence.NamedQuery;
import javax.validation.constraints.Size;
import javax.xml.bind.annotation.XmlTransient;

/**
 *
 * @author sylva_000
 */
@Entity
@XmlTransient
public class Adresse implements Serializable  {

    //private static final long serialVersionUID = 1L;
    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    @Column(name = "idAdresse")
    private Integer idAdresse;
    /**
     * Code postal de l'adresse
     */
    @Size(max = 255)
    @Column(nullable = false, name = "CodePostal")
    private String codePostal;
    /**
     * Complement d'adresse
     */
    @Size(max = 255)
    @Column(nullable = false, name = "ComplementAdresse")
    private String complementAdresse;
    /**
     * Pays de l'adresse
     */
    @Size(max = 255)
    @Column(nullable = false, name = "Pays")
    private String pays;
    /**
     * Nom de la rue
     */
    @Size(max = 255)
    @Column(nullable = false, name = "Rue")
    private String rue;
    /**
     * Titre de l'adresse
     */
    @Size(max = 255)
    @Column(nullable = false, name = "TitreAdresse")
    private String titreAdresse;
    /**
     * Ville de l'adresse
     */
    @Size(max = 255)
    @Column(nullable = false, name = "Ville")
    private String ville;
    /**
     * Ture si l'adresse est valide
     */
    @Column(nullable = false, name = "Visible")
    private Boolean visible;

    public Integer getIdAdresse() {
        return idAdresse;
    }

    public String getCodePostal() {
        return codePostal;
    }

    public String getComplementAdresse() {
        return complementAdresse;
    }

    public String getPays() {
        return pays;
    }

    public String getRue() {
        return rue;
    }

    public String getTitreAdresse() {
        return titreAdresse;
    }

    public String getVille() {
        return ville;
    }

    public void setIdAdresse(Integer idAdresse) {
        this.idAdresse = idAdresse;
    }

    public void setCodePostal(String codePostal) {
        this.codePostal = codePostal;
    }

    public void setComplementAdresse(String complementAdresse) {
        this.complementAdresse = complementAdresse;
    }

    public void setPays(String pays) {
        this.pays = pays;
    }

    public void setRue(String rue) {
        this.rue = rue;
    }

    public void setTitreAdresse(String titreAdresse) {
        this.titreAdresse = titreAdresse;
    }

    public void setVille(String ville) {
        this.ville = ville;
    }

    public Boolean isVisible() {
        return visible;
    }

    public void setVisible(Boolean visible) {
        this.visible = visible;
    }
 
    @Override
    public int hashCode() {
        int hash = 0;
        hash += (idAdresse != null ? idAdresse.hashCode() : 0);
        return hash;
    }

    @Override
    public boolean equals(Object object) {
        // TODO: Warning - this method won't work in the case the id fields are not set
        if (!(object instanceof Adresse)) {
            return false;
        }
        Adresse other = (Adresse) object;
        if ((this.idAdresse == null && other.idAdresse != null) || (this.idAdresse != null && !this.idAdresse.equals(other.idAdresse))) {
            return false;
        }
        return true;
    }

    @Override
    public String toString() {
        return "com.afcepf.projet2.entities.comptes.Adresse[ id=" + idAdresse + " ]";
    }
}
